Step 0+1 ground-clearing: ADRs, deletions, test fix, lint cleanup, README/ROADMAP, CI concurrency#24
Merged
Merged
Conversation
This was referenced May 13, 2026
…trees Adds three ADRs for verisimiser and one for verisimdb-data, plus the mechanical file deletions they authorise. - ADR-0001 (octad-ontology): concerns octad is canonical; modalities become Tier 2 overlays. Closes #19; sets up #20; closes #21 wontfix. - ADR-0002 (verification-tree): strip the empty 8-subdirectory tree; Idris2 stubs in src/interface/abi/ are unaffected. Closes #15. - ADR-0003 (justfile-aspirational-recipes): delete recipes that name non-existent clap subcommands. Closes #11 (#10 is the mechanical follow-up). - ADR-0001 (verisimdb-data, repo-purpose): repo carries two explicit purposes (scan store + ABI dogfood). Lands in the data repo commit. Deletes: - examples/SafeDOMExample.res, examples/web-project-deno.json (unrelated template flotsam — closes #12) - root SECURITY.md, root CODE_OF_CONDUCT.md (duplicate; .github/ versions are canonical — closes #13, #14) - verification/ subtree (closes #15 via ADR-0002) Closes #11, #12, #13, #14, #15, #19, #21 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…scaping Two bugs in tests/integration_test.rs caused 2 of 9 integration tests to fail (the unit tests were unaffected). 1. Prefix mismatch — codegen emits identifiers prefixed `verisimdb_` (see src/codegen/overlay.rs). The integration tests asserted substring presence of `verisim_…` which is not a substring of `verisimdb_…`. Replaced 11 occurrences in tests/integration_test.rs. 2. Windows path escaping — test_end_to_end_file_workflow interpolates `schema_path.display()` into a TOML basic string with `"…"`. On Windows the path contains backslashes which TOML treats as escapes, producing a malformed manifest and an unwrap-on-Err. Switched the embedded path to a TOML literal string (single quotes) which suppresses escape interpretation. Verified: cargo test now reports 26 + 26 + 9 = 61 tests, 0 failed. Closes #8 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Per ADR-0001 the canonical octad is concerns (Data/Metadata/Provenance/Lineage/Constraints/AccessControl/Temporal/ Simulation), not modalities. The previous README led with a modalities table the codebase no longer supported. README.adoc rewrites: - Replace the "Eight Modalities" table with an "Eight Concerns" table whose rows match `OctadDimension` enum, OctadConfig fields, and the emitted sidecar tables. - Reframe the eight cross-modal drift categories under Constraints (they are symptoms observed by Constraints when Data, Metadata, and active Tier 2 overlays disagree). Note explicitly that each category still needs a computable definition. - Tier 1 narrative reorganised around the five Tier 1 concerns (Provenance, Temporal, Constraints, Lineage, AccessControl). - Tier 2 retains modalities but as overlay representations, not as "the octad". - Add a "Related repos" section linking verisimdb-data. - Add an "ABI" section pointing at src/interface/abi/ and src/interface/ffi/ where the Idris2 and Zig stubs actually live. - Cite ADR-0001 and ADR-0002 inline. ROADMAP.adoc rewrites: - Phase 0 marked complete with accurate evidence (ABI types exist in three languages; codegen scaffolding ships). - Phases reordered to match the bottom-up plan: SQLite Tier 1 MVP first (cheapest end-to-end), then PostgreSQL, then multi-backend, then Constraints/Drift, then AccessControl/Lineage, then Tier 2 modality overlays, then Simulation, then VCL-total integration, then production hardening, then ecosystem. - Each phase phrased in concerns/modality terms consistent with ADR-0001. Closes #20 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
…r commit The `rust-ci.yml` lane already runs `cargo check + clippy + fmt` (job `check`) and `cargo test --all-targets` (job `test`, depends on `check`). That is exactly what V-L3-A2 asked for — the previous mega-list incorrectly claimed no cargo-test gate existed. Real improvement this commit lands: - Add a `concurrency` block at workflow level so push storms cancel older queued runs instead of queueing for minutes. Group keyed on `github.ref` so concurrent PR pushes serialize per-PR but parallel to main. Verified locally: - `cargo fmt --all -- --check` clean - `cargo clippy --all-targets -- -D warnings` clean - `cargo test` reports 35 tests (26 lib + 9 integration), 0 failed The cargo-test gate becomes a required check when branch protection is configured to require Rust CI / Cargo test — that is a repo settings change, not a workflow change. Closes #9 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
7a4ccfd to
6d527cc
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Ground-clearing pass that resolves 11 of the 14 issues filed against this repo (V-L3-A1/A2/B1/B2/C1/C2/D1/E1/Q1/R1 + V-L1-A1/A2/D1; #21 closed as wontfix in a follow-up note).
7 commits, each scoped to one logical change so review and rollback are clean.
What changes
Decisions (3 verisimiser ADRs)
docs/decisions/ADR-0001-octad-ontology.adoc— picks concerns as the canonical octad (Data/Metadata/Provenance/Lineage/Constraints/AccessControl/Temporal/Simulation). Modalities become Tier 2 overlay representations, not "the octad". Closes V-L1-A1: pick canonical octad — modalities vs concerns (ADR-0001) #19, sets up V-L1-A2: rewrite README around concerns octad (blocked by V-L1-A1) #20, closes V-L1-A3: epic — rewrite code around modalities octad (blocked by V-L1-A1) #21 wontfix.docs/decisions/ADR-0002-verification-tree.adoc— strip the emptyverification/8-subdirectory scaffolding. Idris2 stubs insrc/interface/abi/are unaffected. Closes V-L3-D1: verification/ tree is empty scaffolding — populate or strip #15.docs/decisions/ADR-0003-justfile-aspirational-recipes.adoc— deleteaugment/check-octad/migraterecipes (no matching clap subcommands). Closes V-L3-C2: decide fate of augment/check-octad/migrate (no clap subcommands) #11.File deletions
examples/SafeDOMExample.res,examples/web-project-deno.json(template flotsam) — closes V-L3-E1: remove unrelated examples (SafeDOMExample.res, web-project-deno.json) #12SECURITY.md, rootCODE_OF_CONDUCT.md(duplicates;.github/versions are canonical) — closes V-L3-Q1: SECURITY.md duplicated at root and .github/ with conflicting SLAs #13, V-L3-R1: CODE_OF_CONDUCT.md duplicated at root and .github/ #14verification/subtree (8 empty subdirectories) — closes V-L3-D1: verification/ tree is empty scaffolding — populate or strip #15Code fixes
tests/integration_test.rs: replace 11 occurrences ofverisim_*withverisimdb_*(the actual codegen prefix). Also fixes a Windows-path TOML escaping bug intest_end_to_end_file_workflowby emitting the path as a TOML literal string instead of a basic string. Closes V-L3-A1: integration tests assert wrong table-name prefix (verisim_ vs verisimdb_) #8.Justfile: remove the literal-\n-collapsed broken recipe block per ADR-0003. Closes V-L3-C1: Justfile line 55 collapses three recipes via literal \n #10.src/lib.rs,src/main.rs: remove blanket 13-lint#![allow(...)]blocks that were silencing clippy. Two real lints surfaced and were fixed at site:codegen/query.rs: combined a nestedformat!()call (clippy::format_in_format_args)manifest/mod.rs::init_manifest: removed a dead ternary returning"false"on both branches (clippy::if_same_then_else)main.rs: was re-declaringmod abi; mod codegen; ...already declared inlib.rs, causing duplicate compilation and spuriousdead_codeerrors in the bin. Replaced withuse verisimiser::{abi, codegen, manifest};. Halves redundant test runs.Closes V-L3-B1: remove blanket #![allow(...)] in src/lib.rs — restores clippy signal #16, V-L3-B2: remove blanket #![allow(...)] in src/main.rs #17.
Docs
README.adocrewritten around the concerns octad (per ADR-0001). The eight cross-modal drift categories become symptoms observed by the Constraints concern; modalities are framed as Tier 2 overlay representations; added a Related repos cross-link toverisimdb-data; added an ABI section pointing atsrc/interface/abi/(Idris2) andsrc/interface/ffi/(Zig). Closes V-L1-A2: rewrite README around concerns octad (blocked by V-L1-A1) #20.ROADMAP.adocrewritten with the bottom-up sequencing (SQLite Tier 1 MVP first, then PostgreSQL, then multi-backend, then Constraints/Drift, …) and phrased consistently in concerns terms.README.adoc. The reciprocal link inverisimdb-datais in its companion PR (hyperpolymath/verisimdb-data#…). Closes V-L1-D1: add Related repos cross-link to verisimdb-data #22.CI
.github/workflows/rust-ci.yml: addconcurrency: { group: rust-ci-${{ github.ref }}, cancel-in-progress: true }so push storms don't queue duplicated runs. The fmt/clippy/test gate itself already existed in this workflow — the previous mega-list incorrectly claimed there was no cargo-test lane. Closes V-L3-A2: add CI lane that blocks on cargo test #9.Test plan
cargo fmt --all -- --checkcleancargo clippy --all-targets -- -D warningscleancargo testreports 35 tests (26 lib + 9 integration), 0 failedRust CI / checkjob greenRust CI / testjob green🤖 Generated with Claude Code